From 7846bedebd8826135ffb076bbe655365b538aeb5 Mon Sep 17 00:00:00 2001 From: Cosimo Cecchi Date: Mon, 22 Apr 2013 17:24:09 -0400 Subject: [PATCH] window: factor out a gtk_window_get_maximized() function Simplify code that does this same check over and over. --- gtk/gtkwindow.c | 41 ++++++++++++++++++++--------------------- 1 file changed, 20 insertions(+), 21 deletions(-) diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index 37a342b0df..c4086e7d2b 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -1188,6 +1188,18 @@ gtk_window_class_init (GtkWindowClass *klass) gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_WINDOW_ACCESSIBLE); } +static gboolean +gtk_window_get_maximized (GtkWindow *window) +{ + GdkWindow *gdk_window = gtk_widget_get_window (GTK_WIDGET (window)); + gboolean maximized = FALSE; + + if (gdk_window) + maximized = (gdk_window_get_state (gdk_window) & GDK_WINDOW_STATE_MAXIMIZED); + + return maximized; +} + static void gtk_window_title_min_clicked (GtkWidget *widget, gpointer data) { @@ -1200,9 +1212,8 @@ static void gtk_window_title_max_clicked (GtkWidget *widget, gpointer data) { GtkWindow *window = (GtkWindow *)data; - GdkWindowState state = gdk_window_get_state (gtk_widget_get_window (widget)); - if (state & GDK_WINDOW_STATE_MAXIMIZED) + if (gtk_window_get_maximized (window)) gtk_window_unmaximize (window); else gtk_window_maximize (window); @@ -4978,15 +4989,13 @@ static void update_window_buttons (GtkWindow *window) { GtkWindowPrivate *priv = window->priv; - GdkWindow *win; - gboolean maximized = FALSE; + gboolean maximized; if (priv->custom_title) return; - win = gtk_widget_get_window (GTK_WIDGET (window)); - if (win != NULL) - maximized = gdk_window_get_state (win) & GDK_WINDOW_STATE_MAXIMIZED; + maximized = gtk_window_get_maximized (window); + if (priv->decorated && priv->client_decorated && !priv->fullscreen && @@ -5073,15 +5082,8 @@ update_window_buttons (GtkWindow *window) priv->resizable && priv->gdk_type_hint == GDK_WINDOW_TYPE_HINT_NORMAL) { - GdkWindow *win; - gboolean maximized; const gchar *icon_name; - win = gtk_widget_get_window (GTK_WIDGET (window)); - if (win != NULL) - maximized = gdk_window_get_state (win) & GDK_WINDOW_STATE_MAXIMIZED; - else - maximized = FALSE; icon_name = maximized ? "window-restore-symbolic" : "window-maximize-symbolic"; button = gtk_button_new (); image = gtk_image_new_from_icon_name (icon_name, GTK_ICON_SIZE_MENU); @@ -6130,7 +6132,6 @@ update_border_windows (GtkWindow *window, GtkBorder *border) { GtkWidget *widget = (GtkWidget *)window; GtkWindowPrivate *priv = window->priv; - GdkWindowState state; gboolean resize_h, resize_v; gint handle; cairo_region_t *region; @@ -6140,8 +6141,7 @@ update_border_windows (GtkWindow *window, GtkBorder *border) if (priv->border_window[0] == NULL) return; - state = gdk_window_get_state (gtk_widget_get_window (widget)); - if (!priv->resizable || (state & GDK_WINDOW_STATE_MAXIMIZED)) + if (!priv->resizable || gtk_window_get_maximized (window)) { resize_h = resize_v = FALSE; } @@ -7008,7 +7008,7 @@ gtk_window_button_press_event (GtkWidget *widget, GtkWindowRegion region; gboolean maximized; - maximized = gdk_window_get_state (gdk_window) & GDK_WINDOW_STATE_MAXIMIZED; + maximized = gtk_window_get_maximized (window); gdk_window_get_user_data (event->window, (gpointer *)&src); if (src && src != widget) @@ -7720,7 +7720,6 @@ gtk_window_do_popup (GtkWindow *window, GdkEventButton *event) { GtkWindowPrivate *priv = window->priv; - GdkWindowState state = gdk_window_get_state (gtk_widget_get_window (GTK_WIDGET (window))); GtkWidget *menuitem; if (priv->popup_menu) @@ -7740,7 +7739,7 @@ gtk_window_do_popup (GtkWindow *window, G_CALLBACK (minimize_window_clicked), window); gtk_menu_shell_append (GTK_MENU_SHELL (priv->popup_menu), menuitem); - menuitem = gtk_menu_item_new_with_label (state & GDK_WINDOW_STATE_MAXIMIZED ? _("Unmaximize") : _("Maximize")); + menuitem = gtk_menu_item_new_with_label (gtk_window_get_maximized (window) ? _("Unmaximize") : _("Maximize")); gtk_widget_show (menuitem); if (!priv->resizable || priv->gdk_type_hint != GDK_WINDOW_TYPE_HINT_NORMAL) @@ -8845,7 +8844,7 @@ gtk_window_draw (GtkWidget *widget, if (priv->client_decorated && priv->decorated && !priv->fullscreen && - !(gdk_window_get_state (gtk_widget_get_window (widget)) & GDK_WINDOW_STATE_MAXIMIZED)) + !gtk_window_get_maximized (GTK_WINDOW (widget))) { gtk_style_context_save (context); -- 2.30.2